/*
 * Tokens del lenguaje.
 * 
 * Basado en el proyecto descrito en: 
 * Louden, K. (1997). Compiler Construction: Principles and Practice. Boston: PWS.
 * 
 * @ Project: Compiler
 * @ File Name: TokenType.java
 * @ Date: 21/09/2008
 */

package cml;

public enum TokenType {
	
	//Palabras reservadas
	IF, ELSE, FOR, WHILE, RETURN, VOID, INT, DEC, BOOLEAN, TEXT,
	
	//Otros
	ID, NUMINT, NUMDEC, TEXTLITERAL,
	
	//Literales booleanas
	TRUE, FALSE, 
	
	//Simbolos especiales
	PLUS {
		
		public String toString() {
			
			return "+";
		}
		
	}, 
	MINUS {
		
		public String toString() {
			
			return "-";
		}
		
	}, 
	TIMES {
		
		public String toString() {
			
			return "*";
		}
		
	}, 
	OVER {
		
		public String toString() {
			
			return "/";
		}
		
	}, 
	EQ {
		
		public String toString() {
			
			return "==";
		}
		
	}, 
	NEQ {
		
		public String toString() {
			
			return "!=";
		}
		
	}, 
	LT {
		
		public String toString() {
			
			return "<";
		}
		
	}, 
	GT {
		
		public String toString() {
			
			return ">";
		}
		
	}, 
	LTEQ {
		
		public String toString() {
			
			return "<=";
		}
		
	}, 
	GTEQ {
		
		public String toString() {
			
			return ">=";
		}
		
	}, 
	ASSIGN {
		
		public String toString() {
			
			return "=";
		}
		
	}, COMMA, SEMICOLON, LPAREN, RPAREN, LBRAK, RBRAK,
	LBRACE, RBRACE, 
	
	//De control
	ERROR, ENDFILE
}